package cn.echase.ecare.yinfayun.service;

import cn.echase.ecare.yinfayun.domain.dto.RemindSettingDto;
import cn.echase.ecare.yinfayun.domain.entity.StaffCertificate;
import cn.echase.ecare.yinfayun.domain.vo.RemindSettingVo;

import java.util.List;


/**
 * @Author: zhangbei@echase.cn
 * @Title: IStaffCertificateService
 * @ProjectName: ecare-soft
 * @Description: 机构员工证书Service接口
 * @Date: 2023/08/28 14:50
 */
public interface IStaffCertificateService {
    /**
     * 查询机构员工证书
     *
     * @param id 机构员工证书ID
     * @return 机构员工证书
     */
    StaffCertificate selectStaffCertificateById(Long id);

    /**
     * 查询机构员工证书列表
     *
     * @param staffCertificate 机构员工证书
     * @return 机构员工证书集合
     */
    List<StaffCertificate> selectStaffCertificateList(StaffCertificate staffCertificate);


    /**
     * 批量新增机构员工证书
     *
     * @param staffCertificateList 机构员工证书
     * @return 结果
     */
    void insertStaffCerBatch(List<StaffCertificate> staffCertificateList);


    /**
     * 新增机构员工证书
     *
     * @param staffCertificate 机构员工证书
     * @return 结果
     */
    int insertStaffCertificate(StaffCertificate staffCertificate);

    /**
     * 修改机构员工证书
     *
     * @param staffCertificate 机构员工证书
     * @return 结果
     */
    int updateStaffCertificate(StaffCertificate staffCertificate);

    /**
     * 批量删除机构员工证书
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    int deleteStaffCertificateByIds(String ids);

    /**
     * 删除机构员工证书信息
     *
     * @param staffCertificate 机构员工证书ID
     * @return 结果
     */
    int deleteStaffCertificate(StaffCertificate staffCertificate);

    /**
     * 查询机构证照提醒设置
     *
     * @return 结果
     */
    RemindSettingVo getRemindSetting();

    /**
     * 编辑机构证照提醒设置
     *
     * @param remindSettingDto 证照提醒设置Dto
     * @return 是否成功
     */
    boolean updateRemindSetting(RemindSettingDto remindSettingDto);
}
